#ifndef ALIEN_ATTACK_PAUSESTATE_H
#define ALIEN_ATTACK_PAUSESTATE_H

#include "MenuState.h"
#include <vector>
#include <iostream>

struct GameObject;

struct PauseState : public MenuState
{
    virtual ~PauseState() {}
    virtual void update();
    virtual void render();

    virtual bool onEnter();
    virtual bool onExit();

    virtual std::string getStateID() const { return s_pauseID; }

    virtual void setCallbacks(const std::vector<Callback> &callbacks);

private:
    static void s_pauseToMain();
    static void s_resumePlay();

    static const std::string s_pauseID;

    std::vector<GameObject *> m_gameObjects;
};
#endif // header file protect